## [1] "December 21, 2025"

Podsumowanie

Biblioteki

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.5.2
library(plotly)
## Warning: package 'plotly' was built under R version 4.5.2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(caret)
## Warning: package 'caret' was built under R version 4.5.2
## Loading required package: lattice
library(shapper)
## Warning: package 'shapper' was built under R version 4.5.2

Wczytywanie danych

data <- read.csv("data.csv")

Podsumowanie zbioru surowego

nrow(data)
## [1] 925
summary(data)
##      Ref.           Limits.of.Potential.Window..V.
##  Length:925         Length:925                    
##  Class :character   Class :character              
##  Mode  :character   Mode  :character              
##                                                   
##                                                   
##                                                   
##                                                   
##  Lower.Limit.of.Potential.Window..V. Upper.Limit.of.Potential.Window..V.
##  Min.   :-1.1000                     Min.   :-0.2000                    
##  1st Qu.:-0.3000                     1st Qu.: 0.4000                    
##  Median : 0.0000                     Median : 0.6000                    
##  Mean   :-0.2343                     Mean   : 0.6301                    
##  3rd Qu.: 0.0000                     3rd Qu.: 0.8000                    
##  Max.   : 0.2000                     Max.   : 3.5000                    
##  NA's   :4                           NA's   :4                          
##  Potential.Window..V. Current.Density..A.g. Capacitance..F.g.
##  Min.   :0.4000       Min.   :  0.050       Min.   :   1.4   
##  1st Qu.:0.6000       1st Qu.:  1.000       1st Qu.: 148.6   
##  Median :0.8250       Median :  2.000       Median : 260.2   
##  Mean   :0.8634       Mean   :  5.857       Mean   : 415.5   
##  3rd Qu.:1.0000       3rd Qu.:  5.000       3rd Qu.: 509.9   
##  Max.   :3.5000       Max.   :200.000       Max.   :3344.1   
##  NA's   :5            NA's   :16            NA's   :17       
##  Specific.Surface.Area..m.2.g. Charge.Transfer.Resistance..Rct...ohm.
##  Min.   :   8.896              Min.   : 0.080                        
##  1st Qu.:  57.000              1st Qu.: 0.670                        
##  Median : 159.970              Median : 1.540                        
##  Mean   : 417.438              Mean   : 3.048                        
##  3rd Qu.: 546.000              3rd Qu.: 3.240                        
##  Max.   :2400.000              Max.   :24.200                        
##  NA's   :572                   NA's   :786                           
##  Equivalent.Series.Resistance..Rs...ohm. Electrode.Configuration
##  Min.   : 0.200                          Length:925             
##  1st Qu.: 0.350                          Class :character       
##  Median : 0.580                          Mode  :character       
##  Mean   : 1.602                                                 
##  3rd Qu.: 2.000                                                 
##  Max.   :17.500                                                 
##  NA's   :772                                                    
##  Pore.Size..nm.   Pore.Volume..cm.3.g. Ratio.of.ID.IG      N.at.      
##  Min.   : 0.530   Min.   :0.0200       Min.   :0.120   Min.   : 0.00  
##  1st Qu.: 3.045   1st Qu.:0.1680       1st Qu.:0.940   1st Qu.: 0.00  
##  Median : 4.337   Median :0.2170       Median :1.050   Median : 0.00  
##  Mean   : 8.618   Mean   :0.4857       Mean   :1.121   Mean   : 2.50  
##  3rd Qu.:13.625   3rd Qu.:0.5075       3rd Qu.:1.170   3rd Qu.: 3.20  
##  Max.   :44.131   Max.   :2.3500       Max.   :2.900   Max.   :23.82  
##  NA's   :769      NA's   :729          NA's   :596     NA's   :690    
##      C.at.           O.at.        Electrolyte.Chemical.Formula
##  Min.   : 1.40   Min.   : 1.900   Length:925                  
##  1st Qu.:37.32   1st Qu.: 8.883   Class :character            
##  Median :81.00   Median :13.700   Mode  :character            
##  Mean   :66.52   Mean   :19.176                               
##  3rd Qu.:85.58   3rd Qu.:27.098                               
##  Max.   :98.10   Max.   :54.280                               
##  NA's   :699     NA's   :703                                  
##  Electrolyte.Ionic.Conductivity Electrolyte.Concentration..M.
##  Min.   :1.000                  Min.   :0.100                
##  1st Qu.:6.000                  1st Qu.:1.000                
##  Median :6.000                  Median :1.000                
##  Mean   :5.806                  Mean   :2.576                
##  3rd Qu.:7.000                  3rd Qu.:6.000                
##  Max.   :8.000                  Max.   :6.000                
##  NA's   :99                     NA's   :62                   
##  Cell.Configuration..three.two.electrode.system.
##  Length:925                                     
##  Class :character                               
##  Mode  :character                               
##                                                 
##                                                 
##                                                 
## 

Przetwarzanie wartości brakujących

Zasady czyszczenia danych:

keep_cols <- colSums(is.na(data)) < nrow(data) / 2
keep_cols["Limits.of.Potential.Window..V."] <- FALSE
medians <- sapply(data[, sapply(data, is.numeric)], median, na.rm = TRUE)
median_cols <- intersect(colnames(data)[keep_cols], names(medians))

data <- select(data, colnames(data)[keep_cols])
keep_rows <- rowSums(is.na(data)) < sum(keep_cols) / 2
data <- filter(data, keep_rows)
for (col in median_cols) {
  data[is.na(data[, col]), col] <- medians[col]
}

string_cols <- colnames(data)[!sapply(data, is.numeric)]
for (col in string_cols) {
  # val_cnt <- data %>%
  #   select(col) %>%
  #   group_by(col) %>%
  #   summarize(cnt = count(col))
  tt <- table(data[, col])
  max_val <- names(tt[tt == max(tt)])[1]
  data[data[, col] == "", col] <- max_val
}
data$Cell.Configuration..three.two.electrode.system.
##   [1] "three-electrode system" "two-electrode system"   "two-electrode system"  
##   [4] "two-electrode system"   "two-electrode system"   "three-electrode system"
##   [7] "two-electrode system"   "two-electrode system"   "two-electrode system"  
##  [10] "two-electrode system"   "two-electrode system"   "three-electrode system"
##  [13] "three-electrode system" "three-electrode system" "three-electrode system"
##  [16] "three-electrode system" "three-electrode system" "three-electrode system"
##  [19] "three-electrode system" "three-electrode system" "three-electrode system"
##  [22] "three-electrode system" "three-electrode system" "three-electrode system"
##  [25] "three-electrode system" "three-electrode system" "three-electrode system"
##  [28] "three-electrode system" "three-electrode system" "three-electrode system"
##  [31] "three-electrode system" "three-electrode system" "three-electrode system"
##  [34] "three-electrode system" "three-electrode system" "three-electrode system"
##  [37] "three-electrode system" "three-electrode system" "three-electrode system"
##  [40] "three-electrode system" "three-electrode system" "three-electrode system"
##  [43] "three-electrode system" "three-electrode system" "three-electrode system"
##  [46] "three-electrode system" "three-electrode system" "three-electrode system"
##  [49] "three-electrode system" "three-electrode system" "three-electrode system"
##  [52] "three-electrode system" "three-electrode system" "three-electrode system"
##  [55] "three-electrode system" "three-electrode system" "three-electrode system"
##  [58] "three-electrode system" "three-electrode system" "three-electrode system"
##  [61] "three-electrode system" "three-electrode system" "three-electrode system"
##  [64] "three-electrode system" "three-electrode system" "three-electrode system"
##  [67] "three-electrode system" "three-electrode system" "three-electrode system"
##  [70] "three-electrode system" "three-electrode system" "three-electrode system"
##  [73] "three-electrode system" "three-electrode system" "three-electrode system"
##  [76] "three-electrode system" "three-electrode system" "three-electrode system"
##  [79] "three-electrode system" "three-electrode system" "three-electrode system"
##  [82] "three-electrode system" "three-electrode system" "three-electrode system"
##  [85] "three-electrode system" "three-electrode system" "three-electrode system"
##  [88] "three-electrode system" "three-electrode system" "three-electrode system"
##  [91] "three-electrode system" "three-electrode system" "three-electrode system"
##  [94] "three-electrode system" "three-electrode system" "three-electrode system"
##  [97] "three-electrode system" "three-electrode system" "three-electrode system"
## [100] "three-electrode system" "three-electrode system" "three-electrode system"
## [103] "three-electrode system" "three-electrode system" "three-electrode system"
## [106] "three-electrode system" "three-electrode system" "three-electrode system"
## [109] "three-electrode system" "three-electrode system" "three-electrode system"
## [112] "three-electrode system" "three-electrode system" "three-electrode system"
## [115] "three-electrode system" "three-electrode system" "three-electrode system"
## [118] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [121] "three-electrode system" "three-electrode system" "three-electrode system"
## [124] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [127] "three-electrode system" "three-electrode system" "three-electrode system"
## [130] "three-electrode system" "three-electrode system" "three-electrode system"
## [133] "three-electrode system" "three-electrode system" "three-electrode system"
## [136] "three-electrode system" "three-electrode system" "two-electrode system"  
## [139] "three-electrode system" "three-electrode system" "three-electrode system"
## [142] "three-electrode system" "three-electrode system" "three-electrode system"
## [145] "three-electrode system" "three-electrode system" "three-electrode system"
## [148] "three-electrode system" "three-electrode system" "three-electrode system"
## [151] "three-electrode system" "three-electrode system" "three-electrode system"
## [154] "three-electrode system" "three-electrode system" "three-electrode system"
## [157] "three-electrode system" "three-electrode system" "three-electrode system"
## [160] "three-electrode system" "three-electrode system" "three-electrode system"
## [163] "three-electrode system" "three-electrode system" "three-electrode system"
## [166] "three-electrode system" "three-electrode system" "three-electrode system"
## [169] "three-electrode system" "three-electrode system" "three-electrode system"
## [172] "three-electrode system" "three-electrode system" "three-electrode system"
## [175] "three-electrode system" "three-electrode system" "three-electrode system"
## [178] "three-electrode system" "three-electrode system" "three-electrode system"
## [181] "three-electrode system" "three-electrode system" "three-electrode system"
## [184] "three-electrode system" "three-electrode system" "three-electrode system"
## [187] "three-electrode system" "three-electrode system" "three-electrode system"
## [190] "three-electrode system" "three-electrode system" "three-electrode system"
## [193] "three-electrode system" "three-electrode system" "two-electrode system"  
## [196] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [199] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [202] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [205] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [208] "three-electrode system" "three-electrode system" "three-electrode system"
## [211] "three-electrode system" "three-electrode system" "three-electrode system"
## [214] "three-electrode system" "three-electrode system" "three-electrode system"
## [217] "three-electrode system" "three-electrode system" "three-electrode system"
## [220] "three-electrode system" "three-electrode system" "three-electrode system"
## [223] "three-electrode system" "three-electrode system" "three-electrode system"
## [226] "three-electrode system" "three-electrode system" "three-electrode system"
## [229] "three-electrode system" "three-electrode system" "three-electrode system"
## [232] "three-electrode system" "three-electrode system" "three-electrode system"
## [235] "three-electrode system" "three-electrode system" "three-electrode system"
## [238] "three-electrode system" "three-electrode system" "three-electrode system"
## [241] "three-electrode system" "three-electrode system" "three-electrode system"
## [244] "three-electrode system" "three-electrode system" "three-electrode system"
## [247] "three-electrode system" "three-electrode system" "three-electrode system"
## [250] "three-electrode system" "three-electrode system" "three-electrode system"
## [253] "three-electrode system" "three-electrode system" "three-electrode system"
## [256] "three-electrode system" "three-electrode system" "three-electrode system"
## [259] "three-electrode system" "three-electrode system" "three-electrode system"
## [262] "three-electrode system" "three-electrode system" "three-electrode system"
## [265] "three-electrode system" "three-electrode system" "three-electrode system"
## [268] "three-electrode system" "three-electrode system" "three-electrode system"
## [271] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [274] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [277] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [280] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [283] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [286] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [289] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [292] "two-electrode system"   "three-electrode system" "three-electrode system"
## [295] "three-electrode system" "three-electrode system" "three-electrode system"
## [298] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [301] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [304] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [307] "three-electrode system" "three-electrode system" "three-electrode system"
## [310] "three-electrode system" "three-electrode system" "three-electrode system"
## [313] "three-electrode system" "three-electrode system" "three-electrode system"
## [316] "three-electrode system" "three-electrode system" "three-electrode system"
## [319] "three-electrode system" "three-electrode system" "three-electrode system"
## [322] "three-electrode system" "three-electrode system" "three-electrode system"
## [325] "three-electrode system" "three-electrode system" "three-electrode system"
## [328] "three-electrode system" "three-electrode system" "three-electrode system"
## [331] "three-electrode system" "three-electrode system" "three-electrode system"
## [334] "three-electrode system" "three-electrode system" "three-electrode system"
## [337] "three-electrode system" "three-electrode system" "three-electrode system"
## [340] "three-electrode system" "three-electrode system" "three-electrode system"
## [343] "three-electrode system" "three-electrode system" "three-electrode system"
## [346] "three-electrode system" "three-electrode system" "three-electrode system"
## [349] "three-electrode system" "three-electrode system" "three-electrode system"
## [352] "three-electrode system" "three-electrode system" "three-electrode system"
## [355] "three-electrode system" "three-electrode system" "three-electrode system"
## [358] "three-electrode system" "three-electrode system" "three-electrode system"
## [361] "three-electrode system" "three-electrode system" "three-electrode system"
## [364] "three-electrode system" "three-electrode system" "three-electrode system"
## [367] "three-electrode system" "three-electrode system" "three-electrode system"
## [370] "three-electrode system" "three-electrode system" "three-electrode system"
## [373] "three-electrode system" "three-electrode system" "three-electrode system"
## [376] "three-electrode system" "three-electrode system" "three-electrode system"
## [379] "three-electrode system" "three-electrode system" "three-electrode system"
## [382] "three-electrode system" "three-electrode system" "three-electrode system"
## [385] "three-electrode system" "three-electrode system" "three-electrode system"
## [388] "three-electrode system" "three-electrode system" "three-electrode system"
## [391] "three-electrode system" "three-electrode system" "three-electrode system"
## [394] "three-electrode system" "three-electrode system" "three-electrode system"
## [397] "three-electrode system" "three-electrode system" "three-electrode system"
## [400] "three-electrode system" "three-electrode system" "three-electrode system"
## [403] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [406] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [409] "two-electrode system"   "three-electrode system" "three-electrode system"
## [412] "three-electrode system" "three-electrode system" "three-electrode system"
## [415] "three-electrode system" "three-electrode system" "three-electrode system"
## [418] "three-electrode system" "three-electrode system" "three-electrode system"
## [421] "three-electrode system" "three-electrode system" "three-electrode system"
## [424] "three-electrode system" "three-electrode system" "three-electrode system"
## [427] "three-electrode system" "three-electrode system" "three-electrode system"
## [430] "three-electrode system" "three-electrode system" "three-electrode system"
## [433] "three-electrode system" "three-electrode system" "three-electrode system"
## [436] "three-electrode system" "three-electrode system" "three-electrode system"
## [439] "three-electrode system" "three-electrode system" "three-electrode system"
## [442] "three-electrode system" "three-electrode system" "three-electrode system"
## [445] "three-electrode system" "three-electrode system" "three-electrode system"
## [448] "three-electrode system" "three-electrode system" "three-electrode system"
## [451] "three-electrode system" "two-electrode system"   "three-electrode system"
## [454] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [457] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [460] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [463] "three-electrode system" "three-electrode system" "three-electrode system"
## [466] "three-electrode system" "three-electrode system" "three-electrode system"
## [469] "three-electrode system" "three-electrode system" "three-electrode system"
## [472] "three-electrode system" "three-electrode system" "three-electrode system"
## [475] "three-electrode system" "three-electrode system" "three-electrode system"
## [478] "three-electrode system" "three-electrode system" "three-electrode system"
## [481] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [484] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [487] "three-electrode system" "three-electrode system" "three-electrode system"
## [490] "three-electrode system" "three-electrode system" "two-electrode system"  
## [493] "three-electrode system" "three-electrode system" "three-electrode system"
## [496] "three-electrode system" "three-electrode system" "three-electrode system"
## [499] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [502] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [505] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [508] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [511] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [514] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [517] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [520] "two-electrode system"   "three-electrode system" "three-electrode system"
## [523] "three-electrode system" "three-electrode system" "three-electrode system"
## [526] "three-electrode system" "three-electrode system" "three-electrode system"
## [529] "three-electrode system" "three-electrode system" "three-electrode system"
## [532] "three-electrode system" "three-electrode system" "three-electrode system"
## [535] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [538] "three-electrode system" "three-electrode system" "three-electrode system"
## [541] "three-electrode system" "three-electrode system" "two-electrode system"  
## [544] "three-electrode system" "three-electrode system" "three-electrode system"
## [547] "three-electrode system" "three-electrode system" "three-electrode system"
## [550] "three-electrode system" "three-electrode system" "three-electrode system"
## [553] "three-electrode system" "three-electrode system" "three-electrode system"
## [556] "three-electrode system" "three-electrode system" "three-electrode system"
## [559] "three-electrode system" "three-electrode system" "three-electrode system"
## [562] "three-electrode system" "three-electrode system" "three-electrode system"
## [565] "three-electrode system" "three-electrode system" "three-electrode system"
## [568] "three-electrode system" "three-electrode system" "three-electrode system"
## [571] "three-electrode system" "three-electrode system" "three-electrode system"
## [574] "three-electrode system" "three-electrode system" "three-electrode system"
## [577] "three-electrode system" "three-electrode system" "three-electrode system"
## [580] "three-electrode system" "three-electrode system" "three-electrode system"
## [583] "three-electrode system" "three-electrode system" "three-electrode system"
## [586] "three-electrode system" "three-electrode system" "three-electrode system"
## [589] "three-electrode system" "three-electrode system" "three-electrode system"
## [592] "three-electrode system" "three-electrode system" "three-electrode system"
## [595] "three-electrode system" "three-electrode system" "two-electrode system"  
## [598] "three-electrode system" "three-electrode system" "three-electrode system"
## [601] "three-electrode system" "three-electrode system" "three-electrode system"
## [604] "three-electrode system" "three-electrode system" "three-electrode system"
## [607] "three-electrode system" "three-electrode system" "three-electrode system"
## [610] "three-electrode system" "three-electrode system" "three-electrode system"
## [613] "three-electrode system" "three-electrode system" "two-electrode system"  
## [616] "three-electrode system" "three-electrode system" "three-electrode system"
## [619] "three-electrode system" "three-electrode system" "three-electrode system"
## [622] "three-electrode system" "three-electrode system" "three-electrode system"
## [625] "three-electrode system" "three-electrode system" "three-electrode system"
## [628] "three-electrode system" "three-electrode system" "three-electrode system"
## [631] "three-electrode system" "three-electrode system" "three-electrode system"
## [634] "three-electrode system" "three-electrode system" "three-electrode system"
## [637] "three-electrode system" "three-electrode system" "three-electrode system"
## [640] "three-electrode system" "three-electrode system" "three-electrode system"
## [643] "three-electrode system" "three-electrode system" "three-electrode system"
## [646] "three-electrode system" "three-electrode system" "three-electrode system"
## [649] "three-electrode system" "three-electrode system" "three-electrode system"
## [652] "three-electrode system" "three-electrode system" "three-electrode system"
## [655] "three-electrode system" "three-electrode system" "three-electrode system"
## [658] "three-electrode system" "three-electrode system" "three-electrode system"
## [661] "three-electrode system" "three-electrode system" "three-electrode system"
## [664] "three-electrode system" "three-electrode system" "three-electrode system"
## [667] "three-electrode system" "three-electrode system" "two-electrode system"  
## [670] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [673] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [676] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [679] "three-electrode system" "three-electrode system" "two-electrode system"  
## [682] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [685] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [688] "two-electrode system"   "three-electrode system" "three-electrode system"
## [691] "three-electrode system" "three-electrode system" "three-electrode system"
## [694] "three-electrode system" "three-electrode system" "three-electrode system"
## [697] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [700] "three-electrode system" "three-electrode system" "three-electrode system"
## [703] "three-electrode system" "three-electrode system" "three-electrode system"
## [706] "three-electrode system" "three-electrode system" "three-electrode system"
## [709] "three-electrode system" "three-electrode system" "three-electrode system"
## [712] "three-electrode system" "three-electrode system" "three-electrode system"
## [715] "three-electrode system" "three-electrode system" "three-electrode system"
## [718] "three-electrode system" "two-electrode system"   "three-electrode system"
## [721] "three-electrode system" "three-electrode system" "three-electrode system"
## [724] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [727] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [730] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [733] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [736] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [739] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [742] "two-electrode system"   "three-electrode system" "two-electrode system"  
## [745] "three-electrode system" "three-electrode system" "three-electrode system"
## [748] "three-electrode system" "three-electrode system" "three-electrode system"
## [751] "three-electrode system" "three-electrode system" "three-electrode system"
## [754] "three-electrode system" "two-electrode system"   "three-electrode system"
## [757] "three-electrode system" "three-electrode system" "three-electrode system"
## [760] "three-electrode system" "three-electrode system" "three-electrode system"
## [763] "three-electrode system" "three-electrode system" "three-electrode system"
## [766] "three-electrode system" "three-electrode system" "three-electrode system"
## [769] "three-electrode system" "three-electrode system" "three-electrode system"
## [772] "three-electrode system" "three-electrode system" "three-electrode system"
## [775] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [778] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [781] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [784] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [787] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [790] "two-electrode system"   "three-electrode system" "three-electrode system"
## [793] "three-electrode system" "three-electrode system" "three-electrode system"
## [796] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [799] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [802] "two-electrode system"   "three-electrode system" "three-electrode system"
## [805] "three-electrode system" "three-electrode system" "three-electrode system"
## [808] "three-electrode system" "three-electrode system" "three-electrode system"
## [811] "three-electrode system" "three-electrode system" "two-electrode system"  
## [814] "three-electrode system" "three-electrode system" "three-electrode system"
## [817] "three-electrode system" "three-electrode system" "three-electrode system"
## [820] "three-electrode system" "three-electrode system" "three-electrode system"
## [823] "three-electrode system" "three-electrode system" "three-electrode system"
## [826] "three-electrode system" "three-electrode system" "three-electrode system"
## [829] "three-electrode system" "three-electrode system" "three-electrode system"
## [832] "three-electrode system" "three-electrode system" "three-electrode system"
## [835] "three-electrode system" "three-electrode system" "three-electrode system"
## [838] "three-electrode system" "three-electrode system" "three-electrode system"
## [841] "three-electrode system" "three-electrode system" "three-electrode system"
## [844] "three-electrode system" "three-electrode system" "three-electrode system"
## [847] "three-electrode system" "three-electrode system" "three-electrode system"
## [850] "three-electrode system" "three-electrode system" "three-electrode system"
## [853] "three-electrode system" "three-electrode system" "three-electrode system"
## [856] "three-electrode system" "three-electrode system" "three-electrode system"
## [859] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [862] "three-electrode system" "three-electrode system" "three-electrode system"
## [865] "three-electrode system" "three-electrode system" "three-electrode system"
## [868] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [871] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [874] "two-electrode system"   "two-electrode system"   "two-electrode system"  
## [877] "three-electrode system" "three-electrode system" "two-electrode system"  
## [880] "three-electrode system" "three-electrode system" "three-electrode system"
## [883] "three-electrode system" "three-electrode system" "three-electrode system"
## [886] "three-electrode system" "three-electrode system" "three-electrode system"
## [889] "three-electrode system" "three-electrode system" "three-electrode system"
## [892] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [895] "three-electrode system" "three-electrode system" "three-electrode system"
## [898] "three-electrode system" "three-electrode system" "three-electrode system"
## [901] "three-electrode system" "three-electrode system" "two-electrode system"  
## [904] "three-electrode system" "three-electrode system" "three-electrode system"
## [907] "three-electrode system" "three-electrode system" "three-electrode system"
## [910] "three-electrode system" "two-electrode system"   "two-electrode system"  
## [913] "two-electrode system"   "two-electrode system"   "three-electrode system"
## [916] "three-electrode system" "three-electrode system" "three-electrode system"
## [919] "three-electrode system" "three-electrode system" "three-electrode system"
## [922] "three-electrode system" "three-electrode system" "three-electrode system"
## [925] "three-electrode system"

Podsumowanie zbioru po czyszczeniu

nrow(data)
## [1] 925
summary(data)
##      Ref.           Lower.Limit.of.Potential.Window..V.
##  Length:925         Min.   :-1.1000                    
##  Class :character   1st Qu.:-0.3000                    
##  Mode  :character   Median : 0.0000                    
##                     Mean   :-0.2333                    
##                     3rd Qu.: 0.0000                    
##                     Max.   : 0.2000                    
##  Upper.Limit.of.Potential.Window..V. Potential.Window..V. Current.Density..A.g.
##  Min.   :-0.2000                     Min.   :0.4000       Min.   :  0.05       
##  1st Qu.: 0.4000                     1st Qu.:0.6000       1st Qu.:  1.00       
##  Median : 0.6000                     Median :0.8250       Median :  2.00       
##  Mean   : 0.6299                     Mean   :0.8632       Mean   :  5.79       
##  3rd Qu.: 0.8000                     3rd Qu.:1.0000       3rd Qu.:  5.00       
##  Max.   : 3.5000                     Max.   :3.5000       Max.   :200.00       
##  Capacitance..F.g. Electrode.Configuration Electrolyte.Chemical.Formula
##  Min.   :   1.4    Length:925              Length:925                  
##  1st Qu.: 150.8    Class :character        Class :character            
##  Median : 260.2    Mode  :character        Mode  :character            
##  Mean   : 412.6                                                        
##  3rd Qu.: 493.6                                                        
##  Max.   :3344.1                                                        
##  Electrolyte.Ionic.Conductivity Electrolyte.Concentration..M.
##  Min.   :1.000                  Min.   :0.10                 
##  1st Qu.:6.000                  1st Qu.:1.00                 
##  Median :6.000                  Median :1.00                 
##  Mean   :5.827                  Mean   :2.47                 
##  3rd Qu.:7.000                  3rd Qu.:6.00                 
##  Max.   :8.000                  Max.   :6.00                 
##  Cell.Configuration..three.two.electrode.system.
##  Length:925                                     
##  Class :character                               
##  Mode  :character                               
##                                                 
##                                                 
## 

Szczegółowa analiza wartości atrybutów

for (col in colnames(data)) {
  if (is.numeric(data[, col])) {
    hist(data[, col], main = col,
         xlab = "Wartość", ylab = "Wystąpienia")
  }
}

Korelacja

ggcorrplot(cor(select(data, where(is.numeric))))
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ The deprecated feature was likely used in the ggcorrplot package.
##   Please report the issue at <https://github.com/kassambara/ggcorrplot/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Interaktywne wykresy

p <- ggplot(data) +
  geom_linerange(aes(x = Capacitance..F.g.,
                     ymin = Lower.Limit.of.Potential.Window..V.,
                     ymax = Upper.Limit.of.Potential.Window..V.,),
                 alpha = 0.15) +
  ylab("Potential.Window..V.") + coord_flip()

fig <- ggplotly(p)
# fig <- fig %>%
#   layout(title = "",
#          sliders = list())

fig

Predykcja pojemności za pomocą regresji liniowej

# zmiana kolumn tekstowych na enumy
elec_conf_vallist <- unique(data$Electrode.Configuration)
elec_chem_vallist <- unique(data$Electrolyte.Chemical.Formula)
cell_conf_vallist <- unique(data$Cell.Configuration..three.two.electrode.system.)

ml_data <- data %>%
  mutate(Electrode.Configuration = match(Electrode.Configuration, elec_conf_vallist)) %>%
  mutate(Electrolyte.Chemical.Formula = match(Electrolyte.Chemical.Formula, elec_chem_vallist)) %>%
  mutate(Cell.Configuration..three.two.electrode.system. = match(Cell.Configuration..three.two.electrode.system., cell_conf_vallist)) %>%
  select(-Ref.)

# podział zbioru danych
set.seed(9001)
is_training <- createDataPartition(
  y = ml_data$Capacitance..F.g.,
  p = .75,
  list = FALSE
)

training_data <- ml_data[is_training, ]
testing_data <- ml_data[-is_training, ]

# uczenie
ctrl <- trainControl(
  method = "cv",
#   number = 2,
  repeats = 10
)
## Warning: `repeats` has no meaning for this resampling method.
set.seed(1337)
fit <- train(
  Capacitance..F.g. ~ .,
  data = training_data,
  method = "lm",
  trControl = ctrl
)

# predykcja
predictions <- predict(fit, newdata = select(testing_data, -Capacitance..F.g.))

# shap
shapped <- shap(fit, data = testing_data, new_observation = testing_data[1, ])
shapped <- shapped %>%
  rename(attribution = "_attribution_", vname = "_vname_", sign = "_sign_") %>%
  filter(vname != "Capacitance..F.g.")
# plot(shapped)
ggplot(shapped, aes(x = vname, y = attribution, fill = sign)) +
  geom_bar(stat = "identity") + coord_flip() +
  geom_text(aes(label = round(attribution, 2), hjust = "inward")) +
  guides(fill = FALSE)
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.